There are many ways in which data can be protected against piracy. A recent and popular method is to send or store the data in an encrypted format. Thus, before the data can be used, the data needs to be decrypted. Typically, software is used so that a user or purchaser of the data can activate the software in order to decrypt the data for use. Such software may be sent or stored along with the data so that the software may be used.
One manner of performing decryption of data is by use of brute force methods. Thus, it is often desirable to protect data content with a large key so that decryption of data by brute force methods cannot be readily accomplished by thieves who are trying to break-the encryption. Consequently, thieves who try to break the encryption focus their efforts on finding the key used to decrypt the data. It is thus desirable to hide the key to increase the tamper resistance of the software.
Many tamper-resistant methods exist that help to hide the key and to obscure the software in which the key is hidden. However, it may be possible to readily find the key despite efforts to hide it. If the key is found by a thief, decryption may readily be accomplished.